// index.js
const common = require("../../common/common")
const AJAX = require("../../common/request")
const API = require("../../common/api")
const App = getApp()
Page({
	data: {
		navHeight: 0,
		navContentHeight: 0,
		navTop: 0,
		fixedTitle: 0, // 顶层固定节点透明度数值,随页面滚动而变化
		IMG_BASE_URL: null, // 图片访问地址

		shareParams: "没有参数",
		swiperList: [],

		articleList: [], // 常见病普及列表
		drugList: [], // 药品介绍列表

		devArticleList:[]
	},
	onShow() {
		//创建节点选择器,当页面滚动位置超出onPageScroll范围
		let query = wx.createSelectorQuery();
		//选择节点
		let that = this;
		query.select('.lee-nav-title').boundingClientRect(function (rect) {
			// 页面位置非顶部情况(滚动动画会产生，透明度为0不显示顶部样式bug,使用onshow)
			if (rect.top < 0) {
				that.setData({
					fixedTitle: 1
				})
			}
		}).exec();

	},
	// 使用防抖节流,减少onPageScroll方法对fixedTitle字段的频繁赋值
	leeBtnClick: common.debounced(function (params) {
		this.setData({
			fixedTitle: 1
		})
	}, 1000),
	// 页面滚动监听+onShow配合使用
	onPageScroll(e) {
		// 小于既定范围时,设置透明度数值
		if (e.scrollTop <= this.data.navHeight) {
			let val = (e.scrollTop / this.data.navHeight)
			this.setData({
				// fixedTitle: val > 0.7 ? 1 : val.toFixed(2)
				fixedTitle: val.toFixed(2)
			})
		} else {
			// 使用防抖节流,减少频繁赋值
			this.leeBtnClick()
		}
		//创建节点选择器
		// let query = wx.createSelectorQuery();
		//选择节点
		// let that = this; 
		// query.select('.lee-nav-title').boundingClientRect(function(rect) {
		// 	console.log(rect)

		// }).exec();
	},
	onLoad(options) {
		// 获取小程序发布状态
		common.getAppLetStatus().then(res => {
			this.setData({
				navHeight: App.globalData.navHeight,
				navContentHeight: App.globalData.navContentHeight,
				navTop: App.globalData.navTop,
				IMG_BASE_URL: API.REQUESTIMGURL,
				APPLETSTATUS: res
			})
			this.getbBannerDiagramlist()
			this.getArticleList()
			if (res === "dev") {
				return
			}
			this.getDrugList()
		})
	},

	getbBannerDiagramlist() {

		AJAX.POST('/system/AppWechat/getbBannerDiagramlist', {}).then(res => {
			this.setData({
				swiperList: res.rows
			})
		})
	},
	onShareAppMessage(options) {
		// 如果该参数存在，则以 resolve 结果为准，如果三秒内不 resolve，分享会使用上面传入的默认参数
		const promise = new Promise(resolve => {
			// 页面按钮点击分享触发
			if (options.from === "button") {
				let params = options.target.dataset.params
				let sharetype = options.target.dataset.sharetype
				// 分享业务类型
				switch (sharetype) {
					// 指定常见病分享配置 sharetype=article_share
					case "article_share":
						let shareparams = JSON.stringify(params)
						resolve({
							title: params.columnArticleTitle || "分享至好友",
							// shareparams 分享链接，由链接进入小程序页面时需要使用的参数值
							path: `/pages/index/article/detail/index?id=${params.id}`,
							imageUrl: ""
						})
						AJAX.POST("/system/AppWechat/updateNumber", {
							id: params.id,
							wechatUserId: App.globalData.user.wechatUserId,
							type: 2 // 1点赞，2转发
						}).catch(err => {
							console.error("转发次数记录失败", err)
						})
						break;

					default:
						break;
				}

				// 检查登录状态
				// common.checkLogin().then((loginRes) => {
				// 	if (!loginRes) {
				// 		return console.error("尚未登录分享失败")
				// 	}
				// 	AJAX.POST("/system/AppWechat/updateNumber", {
				// 		id: params.id,
				// 		forwardUmber: 1
				// 	}).then(res => {
				// 		return resolve({
				// 			title: params.columnArticleTitle || "分享至好友",
				// 			// type=1 首页常见病普及分享
				// 			path: `/pages/index/article/detail/index?sharetype=${sharetype}&shareparams=${JSON.stringify(params)}`,
				// 			imageUrl: ""
				// 		})
				// 	})
				// })
			}
		})

		// 默认分享配置
		return {
			title: App.globalData.onShareAppMessage.title,
			path: App.globalData.onShareAppMessage.path,
			imageUrl: App.globalData.onShareAppMessage.imageUrl,
			promise
		}
	},


	// 获取首页热门药品列表
	getDrugList() {
		AJAX.POST("/system/AppWechat/getbDrugIntroductionlist", {
			drugIntroductionState: "0",
			// pageNum: 1,
			// pageSize: 3
		}).then(res => {
			this.setData({
				drugList: res.rows
			})
		})
	},
	// 前往页面
	goPage(e) {
		let url = e.currentTarget.dataset.url
		let id = e.currentTarget.dataset.id
		let pageUrl = id ? `${url}?id=${id}` : url
		wx.navigateTo({
			url: pageUrl,
		})
	},
	// 获取常见病普及列表
	getArticleList() {
		AJAX.POST("/system/AppWechat/getbColumnArticlelist", {
			pageNum: 1,
			pageSize: 3,
			wechatUserId: App.globalData.user.wechatUserId,
		}).then(res => {
			console.log("--- res : ",res.rows)
			this.setData({
				articleList: res.rows
			})
		})
	},
	// 点赞
	clickLike(e) {
		if (this.data.APPLETSTATUS == "dev") {
			return wx.showToast({
				title: '功能正在开发中',
				icon: "none"
			})
		}
		console.log(e.currentTarget.dataset.id)
		//addOrDel /** 1新增，2取消 */
		let addOrDel = this.data.articleList[e.currentTarget.dataset.index].dzNum > 0 ? 2 : 1
		//判断缓存手机号是否存在
		if (!App.globalData.user.wxLoginPhone) {
			wx.showToast({
				title: '尚未登录',
				icon: "none"
			})
			wx.navigateTo({
				url: '/pages/login/index',
			})
			return false;
		}
		// 检查登录状态
		common.checkLogin().then((loginRes) => {
			if (!loginRes) {
				return wx.showToast({
					title: '尚未登录，点赞失败',
					duration: "3000",
					icon: "none"
				})
			}
			AJAX.POST("/system/AppWechat/updateNumber", {
				id: e.currentTarget.dataset.id,
				wechatUserId: App.globalData.user.wechatUserId,
				type: 1, // 1点赞，2转发
				addOrDel: addOrDel
			}).then(res => {
				wx.showToast({
					title: addOrDel == 1 ? '点赞完成' : "取消点赞",
				})
				let likeUmber = 0
				if (addOrDel == 1) {
					likeUmber = this.data.articleList[e.currentTarget.dataset.index].likenUmber + 1
				} else {
					likeUmber = this.data.articleList[e.currentTarget.dataset.index].likenUmber - 1
					likeUmber = likeUmber > 0 ? likeUmber : 0
				}
				this.setData({
					[`articleList[${e.currentTarget.dataset.index}].dzNum`]: addOrDel == 1 ? 1 : 0,
					[`articleList[${e.currentTarget.dataset.index}].likenUmber`]: likeUmber,
				})
			})
		})
	},
	// 收藏
	clickCollect(e) {

		if (this.data.APPLETSTATUS == "dev") {
			return wx.showToast({
				title: '功能正在开发中',
				icon: "none"
			})
		}
		if (this.data.articleList[e.currentTarget.dataset.index].scNum > 0) {
			return
		}

		//判断缓存手机号是否存在
		if (!App.globalData.user.wxLoginPhone) {
			wx.showToast({
				title: '尚未登录',
				icon: "none"
			})
			wx.navigateTo({
				url: '/pages/login/index',
			})
			return false;
		}
		// 检查登录状态
		common.checkLogin().then((loginRes) => {
			if (!loginRes) {
				return wx.showToast({
					title: '尚未登录，收藏失败',
					duration: "3000",
					icon: "none"
				})
			}
			AJAX.POST("/system/AppWechat/addbCollect", {
				wechatUserId: App.globalData.user.wechatUserId,
				columnArticleId: e.currentTarget.dataset.id,
			}).then(res => {
				wx.showToast({
					title: '文章收藏成功',
				})
				this.setData({
					[`articleList[${e.currentTarget.dataset.index}].scNum`]: 1,
				})
			})
		})
	},

	swiperChange(e) {
		this.setData({
			swiperNum: e.detail.current
		})
	},
	goService() {
		console.error("点击在线客服，准备进入客服链接")
		// wx.navigateTo({
		// 	// url: '/pages/chat/index/index',
		// 	url: '/pages/chat/webView/index'
		// })
		// return
		if (!App.globalData.user.wxLoginPhone || !App.globalData.user.wxLoginStatus) {
			wx.showToast({
				title: '尚未登录',
				icon: "none"
			})
			wx.navigateTo({
				url: '/pages/login/index',
			})
		} else {
			AJAX.GET("/wxLogin/checkWxUser",{
				uid:App.globalData.user.wxUserId
			}).then(res=>{
				let data = res.data
				if(data === true){
					wx.navigateTo({
						url: '/pages/chat/index/index',
						// url: '/pages/chat/webView/index'
					})
					return
				}
				wx.setStorageSync('wxLoginOpenid', "") // 登录状态
				wx.setStorageSync('wxLoginStatus', false) // 登录状态
				wx.setStorageSync('wxLoginPhone', "")
				App.globalData.user.wxLoginOpenid = ""
				App.globalData.user.wxLoginStatus = false
				App.globalData.user.wxLoginPhone = ""
				wx.showToast({
					title: '尚未注册',
					icon: "none"
				})
			}).catch(res=>{
				console.error("goService error : ",res)
				wx.showToast({
					title: '用户校验异常',
					icon: "none"
				})
			})

		}
		// return
		// common.checkLogin().then(res => {
		//   // 登录状态已在线，前往在线客服页面
		//   if (res) {
		//     wx.navigateTo({
		//       url: '/pages/chat/index/index',
		//     })
		//   }
		// })
	},
	goBaike() {
		wx.navigateTo({
			url: '/pages/index/baike/index',
		})
	},
	goMap() {
		console.error("点击地图，准备进入地图服务")
		wx.navigateTo({
			url: '/pages/map/index',
		})
	},
	goLogin() {
		common.checkLogin()
		console.error("点击授权登录，准备进入登录服务")
		return wx.navigateTo({
			url: '/pages/login/index',
		})
	},
	goIndexSearch() {
		return wx.navigateTo({
			url: '/pages/index/search/index',
		})
	},
	goProduct() {
		wx.navigateTo({
			url: '/pages/index/drug/list/index',
		})
	},
	goIndexRange() {
		return wx.navigateTo({
			url: '/pages/index/drug/range/index',
		})
	},
	//药品详情
	goDrugDetail(e) {
		console.log(JSON.stringify(this.data.drugList[e.currentTarget.dataset.index]))
		wx.navigateTo({
			url: '/pages/index/drug/detail/index?id=' + this.data.drugList[e.currentTarget.dataset.index].id,
		})
	},
	//企业详情
	goCompanyDetail() {
		wx.navigateTo({
			url: '/pages/company/detail/index',
		})
	},
})